package com.project.service;

import com.github.pagehelper.PageInfo;
import com.project.bean.ProjectBean;

import java.util.List;

public interface IProjectService {
    public int pageSize = 3;

    /**
     * 需求：添加项目名称 客户名称 项目资金 交付日期
     * 添加新项目
     * @param project 项目对象
     */
    public void add(ProjectBean project);

    /**
     * 根据点中的项目id查询详细信息，并查询参与项目员工的姓名，参与时间，完成时间
     * @param id 选中id
     * @return 项目对象
     */
    public ProjectBean findById(int id);

    /**
     * 动态条件查询项目。统计每个项目的参与人数
     * @param pageNO 页码
     * @param projectName 项目名称
     * @param state 项目状态
     * @param sort 排序规则
     * @return 分页对象
     */
    public PageInfo<ProjectBean> findByItem(int pageNO, String projectName, String state, String sort);

    /**
     * 查询未完成的项目。同时统计每个项目的参与人数
     * @return 项目集合
     */
    public List<ProjectBean> findNoFinish();

    /**
     * 项目交付使用，修改项目状态为已交付,同时将正在进行的项目进度完成日期修改为当前时间
     * @param id 项目id
     */
    public void updateProjectState(int id);
}
